const app = getApp()

Page({
    data: {
        time_array: '',
        time_index: 0,
        userNum: '',
        time: '',
        chance_array:'',
        bottom : 0 ,
    },

    onShow: function () {
        //this.testLook()
        this.scheduleInit();
        //时段剩余次数初始化
    },

    testLook: function(){
        //查看数据库的情况
        const db = wx.cloud.database()
        db.collection('schedule').where({_id: "7498b5fe5f5afc600157c52304658108",}).get({
            success: res => {
                console.log('testLook此时的次数 ',res.data[0].time)
                console.log('testLook此时的次数 ',res.data[0].chance)
            }
        })
    },

    scheduleInit:function(){
        const db = wx.cloud.database()
        //根据_id查询记录
        db.collection('schedule').where({_id: "7498b5fe5f5afc600157c52304658108",}).get({
            success: res => {
                this.setData({
                    time_array : res.data[0].time ,
                    //拿到设置的时段
                    chance_array : res.data[0].chance
                    //拿到各个时段的剩余次数
                })
                //console.log('scheduleInit此时的时段 ',res.data[0].time)
                //console.log('scheduleInit此时的次数 ',res.data[0].chance)
                
                this.testLook()
            },
        })
      },

    getUserNumInput: function (e) {
        this.setData({
            userNum: e.detail.value,
        })
        //console.log('得到取件码，值为', this.data.userNum)
    },

    getTimeInput: function (e) {
        this.setData({
            time: e.detail.value,
        })
        //console.log('得到时间，值为', e.detail.value)
    },
    
    bindPickerChange: function (e) {
        //console.log('选择时段为', this.data.time_array[e.detail.value])
        this.setData({
            time_index: e.detail.value,
            time: this.data.time_array[e.detail.value]
        })
    },
    
    // 本人申请取件
    user_submit: function () {

        //this.scheduleInit();
        //时段剩余次数初始化
        
        //检测是否填写完成
        if (this.data.userNum == '' || this.data.time == '') {
            wx.showToast({
                icon: 'none',
                title: '请将信息全部填写完成'
            })
            return;
        }
        
        const db = wx.cloud.database()

        //将取件码和取件时间写入数据库
        db.collection('userInfo').add({
            data: {
                userNum: this.data.userNum,
                time: this.data.time,
                submit_time: new Date()
            },
            success: res => {
                wx.showToast({
                    title: '发送成功',
                })
                console.log('[数据库] [新增记录] 成功 ');
            },
            fail: err => {
                wx.showToast({
                    icon: 'none',
                    title: '发送失败'
                })
                console.error('[数据库] [新增记录] 失败：', err)
            }
        })

       //this.testLook()

        console.log('选择的时段为',this.data.time_array[this.data.time_index])
        console.log('该时段的剩余次数',this.data.chance_array[this.data.time_index])

        //如果不是该时段的最后一次机会
        if(this.data.chance_array[this.data.time_index]>1){

            //console.log('时段',this.data.time_array)
            //console.log('次数',this.data.chance_array)
            console.log('不是最后一次机会')


            db.collection('schedule').doc('7498b5fe5f5afc600157c52304658108').update({
                // 对应时段的次数-1，更新数据库
                data: {
                  ['chance.'+[this.data.time_index]] : db.command.inc(-1)
                }
            })

            this.setData({
                userNum: '',
                time_index: '',
            })

            //查看数据库的情况
            //this.testLook()
        }
        //如果是该时段的最后一次机会，则在数组中删除该时段和次数
        else{
            //删除数组中对应的时段和次数
            console.log('最后一次机会')

            this.data.chance_array.splice(this.data.time_index,1)
            this.data.time_array.splice(this.data.time_index,1)

            //console.log('此时的时段',this.data.time_array)
            //console.log('此时的次数',this.data.chance_array)

            db.collection('schedule').doc('7498b5fe5f5afc600157c52304658108').update({
                // 更新数据库
                
                data: {
                  'chance' : this.data.chance_array ,
                  'time' : this.data.time_array
                }
            })

            this.scheduleInit();
            //更新数据

            //查看数据库的情况
            //this.testLook()
        } 

        wx.navigateTo({
            url: '../ask/ask'
        })
    },
    
    jumpQuery: function () {
        wx.navigateTo({
            url: '../query/query'
        })
    },

    /**
    * 页面上拉触底事件的处理函数
    */
    onReachBottom: function () {
        this.data.bottom++
        console.log('触底次数',this.data.bottom)
        if(this.data.bottom>4){
            this.data.bottom = 0
            wx.navigateTo({
                url: '../admin/login/login'
            })
        }
    },

})
